1
Fundamentos do Desenvolvimento de Kernels CUDA
AI021Lesson 2
00:00

O desenvolvimento de kernels CUDA começa com a definição de um kernel, que é uma função especializada em C++ projetada para executar em paralelo em grande número de núcleos de um GPU da NVIDIA. Essas funções representam a unidade fundamental de trabalho no modelo de programação CUDA, atuando como ponte onde a lógica serial do host se transforma em execução massivamente paralela no dispositivo.

1. O Especificador __global__

O __global__ especificador de declaração é um qualificador de API obrigatório que instrui o compilador a gerar código para o GPU enquanto mantém o ponto de entrada da função visível para o CPU. Funções que são executadas no GPU e podem ser invocadas pelo host são chamadas de kernels.

2. Ambiente de Execução

Kernels são enviados para e executados nos Multiprocessadores de Streaming (SMs). O SM é o principal motor computacional dentro de um GPU da NVIDIA responsável por gerenciar centenas de threads concorrentes. Cada SM gerencia blocos de threads e os agenda nos núcleos de processamento.

Regra de Sintaxe: Kernels devem retornar estritamente void. Como operam de forma assíncrona em relação ao host, eles não podem retornar um valor diretamente para o CPU; devem gravar os resultados de volta na memória alocada no dispositivo.

Host (CPU)Dispositivo (GPU da NVIDIA)StreamingMultiprocessador (SM)Início do Kernel
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>